#include <iostream>
#include <cstring>
using namespace std;

/*
	多重继承：构造和析构的调用规则
	
*/
class Catamount  //猫科动物
{
public:
	Catamount()
	{
		cout<<"猫科构造"<<endl;
	}
	~Catamount()
	{
		cout<<"猫科析构"<<endl;
	}
};

class Mammal //哺乳动物
{
public:
	Mammal()
	{
		cout<<"哺乳构造"<<endl;
	}
	~Mammal()
	{
		cout<<"哺乳析构"<<endl;
	}
};


class Leopard:public Mammal,public Catamount
{
public:
	Leopard()
	{
		cout<<"豹子构造"<<endl;
	}
	~Leopard()
	{
		cout<<"豹子析构"<<endl;
	}
};

int main(int argc,char **argv)
{
	Leopard l1;
	return 0;	
}